/*
	*创建二叉树
	*遍历二叉树（可以是前中后序）
	*输出二叉树
	*求二叉树深度
	*求二叉树中结点个数
	*求二叉树中叶子结点
	*释放二叉树
*/
//二叉树的顺序存储结构
#include<stdio.h>
#define MAX_TREE_SIZE 100//二叉树的最大结点数

/*typedef TElemType SqBiTree[MAX_TREE_SIZE];//0号单元存储根结点
*上面的定义方法有问题，至于问题在哪不知道！
*error C2146: syntax error : missing ';' before identifier 'SqBiTree'
*/
typedef int TElemType;
/*SqBiTree bt;//定义一个结点&数组类型的变量bt
*/
#include<stdio.h>
typedef struct BiTNode{
	TElemType data;
	struct BiTNode *lchild,*rchild;//左右孩子指针
}BiTNode, *BiTree;
//访问结点
/*Visit(TElemType e){
	printf(e);
	return 1;
}*/

//初始化二叉树
void InitBiTree(BiTNode &T){
	
}
//销毁二叉树
void DestroyBiTree(BiTNode &T){
	printf("您的选择是6\n销毁二叉树！\n");

}
//创建二叉树

void BuildBiTree(BiTNode &T){
	printf("===========================================\n");
	printf("===========================================\n");
	printf("您的选择是1\n创建二叉树！\n");
}
//判断二叉树是否为空
int BiTreeEmpty(BiTNode &T){
	return 0;
}
//返回二叉树的值
int Value(BiTNode &T,int e){
	return e;
}
//遍历二叉树
void OrderTraverse(BiTNode T){
		printf("您的选择是2\n遍历二叉树！\n");

}
int Shendu(BiTNode T){
			printf("您的选择是3\n求二叉树的深度\n");

	int a=0;
	return a;
}
int NodeNumber(BiTNode T){
	printf("您的选择是4\n求二叉树结点个数\n");

	int a=0;
	return a;
}
//求二叉树中叶子结点的个数
int LNodeNumber(BiTNode T){
	printf("您的选择是5\n求二叉树中叶子结点的个数\n");

	int a=0;
	return a;
}
int  main(){
	printf("===========================================\n");
	printf("===========================================\n");
	printf("           二叉树的基本运算\n\n");
	printf("           1.创建二叉树\n");
	printf("           2.遍历二叉树\n");
	printf("           3.求二叉树的深度\n");
	printf("           4.求二叉树中结点个数\n");
	printf("           5.求二叉树中叶子结点\n");
	printf("           6.销毁二叉树\n");
	printf("           0.退出\n");
	printf("===========================================\n");
	printf("===========================================\n");
	BiTNode T;
	InitBiTree(T);
	int N;
	fine:
		printf("请输入你的选择：");
		scanf("%d",&N);
	if (N<0||N>6){
	printf("请输入0-6之间的数！\n");
	goto fine;
	}
	while(N!=0){
		switch (N) {
		case 1: BuildBiTree(T); break;
		case 2: OrderTraverse(T); break;
		case 3: Shendu(T);break;
		case 4: NodeNumber(T);break;
		case 5: LNodeNumber(T);break;	
		case 6: DestroyBiTree(T);break;
		/*所有的case要用｛｝，否则会第二个case就会报错
			illegal case*/
		}
fine2:	printf("请输入你的选择：");
		scanf("%d",&N);
	if (N<0||N>6){
	printf("请输入0-6之间的数！\n");
	goto fine2;
	}
	printf("===========================================\n");

	printf("          Thanks for your using!\n");
	printf("===========================================\n");
	return 0;

}
}